/***************************************************************
 * Name:      SudokuSolverMain.cpp
 * Purpose:   Code for Application Frame
 * Author:    Timothy Sassone (timmysassone@yahoo.com)
 * Created:   2009-09-25
 * Copyright: Timothy Sassone (tsassone.wordpress.com)
 * License:
 **************************************************************/

#include "wx_pch.h"
#include "SudokuSolverMain.h"
#include <wx/msgdlg.h>

#include "functions.h"

//(*InternalHeaders(SudokuSolverFrame)
#include <wx/intl.h>
#include <wx/string.h>
//*)

//helper functions
enum wxbuildinfoformat {
    short_f, long_f };

wxString wxbuildinfo(wxbuildinfoformat format)
{
    wxString wxbuild(wxVERSION_STRING);

    if (format == long_f )
    {
#if defined(__WXMSW__)
        wxbuild << _T("-Windows");
#elif defined(__UNIX__)
        wxbuild << _T("-Linux");
#endif

#if wxUSE_UNICODE
        wxbuild << _T("-Unicode build");
#else
        wxbuild << _T("-ANSI build");
#endif // wxUSE_UNICODE
    }

    return wxbuild;
}

//(*IdInit(SudokuSolverFrame)
const long SudokuSolverFrame::ID_SPINCTRL81 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL80 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL79 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE1 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL78 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL77 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL76 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE9 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL75 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL74 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL73 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL72 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL71 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL70 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE2 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL69 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL68 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL67 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE3 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL66 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL65 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL64 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL63 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL62 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL61 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE4 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL60 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL59 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL58 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE5 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL57 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL56 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL55 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE6 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE7 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE8 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE10 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE12 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE11 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE13 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE14 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE15 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE16 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE17 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL54 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL53 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL52 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE18 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL51 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL50 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL49 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE19 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL48 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL47 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL46 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL45 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL44 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL43 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE20 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL42 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL41 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL40 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE21 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL39 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL38 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL37 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL36 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL35 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL34 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE22 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL33 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL32 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL31 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE23 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL30 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL29 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL28 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE24 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE25 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE26 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE27 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE28 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE29 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE30 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE31 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE32 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE33 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE34 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL27 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL26 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL25 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE35 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL24 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL23 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL22 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE36 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL21 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL20 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL19 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL18 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL17 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL16 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE37 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL15 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL14 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL13 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE38 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL12 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL11 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL10 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL9 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL8 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL7 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE39 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL6 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL5 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL4 = wxNewId();
const long SudokuSolverFrame::ID_STATICLINE40 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL2 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL3 = wxNewId();
const long SudokuSolverFrame::ID_SPINCTRL1 = wxNewId();
const long SudokuSolverFrame::ID_BUTTON1 = wxNewId();
const long SudokuSolverFrame::ID_BUTTON2 = wxNewId();
const long SudokuSolverFrame::ID_PANEL1 = wxNewId();
const long SudokuSolverFrame::idMenuQuit = wxNewId();
const long SudokuSolverFrame::idMenuAbout = wxNewId();
const long SudokuSolverFrame::idHelp = wxNewId();
const long SudokuSolverFrame::ID_STATUSBAR1 = wxNewId();
//*)

BEGIN_EVENT_TABLE(SudokuSolverFrame,wxFrame)
    //(*EventTable(SudokuSolverFrame)
    //*)
END_EVENT_TABLE()

SudokuSolverFrame::SudokuSolverFrame(wxWindow* parent,wxWindowID id)
{
    //(*Initialize(SudokuSolverFrame)
    wxMenuItem* MenuItem2;
    wxFlexGridSizer* FlexGridSizer3;
    wxMenuItem* MenuItem1;
    wxFlexGridSizer* FlexGridSizer2;
    wxMenu* Menu1;
    wxMenuItem* MenuItem3;
    wxBoxSizer* BoxSizer1;
    wxMenuBar* MenuBar1;
    wxFlexGridSizer* FlexGridSizer1;
    wxMenu* Menu2;

    Create(parent, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("wxID_ANY"));
    BoxSizer1 = new wxBoxSizer(wxHORIZONTAL);
    Panel1 = new wxPanel(this, ID_PANEL1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL1"));
    FlexGridSizer1 = new wxFlexGridSizer(0, 1, 0, 0);
    FlexGridSizer2 = new wxFlexGridSizer(9, 11, 0, 0);
    square0_0 = new wxSpinCtrl(Panel1, ID_SPINCTRL81, _T("6"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 6, _T("ID_SPINCTRL81"));
    square0_0->SetValue(_T("6"));
    FlexGridSizer2->Add(square0_0, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square0_1 = new wxSpinCtrl(Panel1, ID_SPINCTRL80, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL80"));
    square0_1->SetValue(_T("0"));
    FlexGridSizer2->Add(square0_1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square0_2 = new wxSpinCtrl(Panel1, ID_SPINCTRL79, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL79"));
    square0_2->SetValue(_T("0"));
    FlexGridSizer2->Add(square0_2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine1 = new wxStaticLine(Panel1, ID_STATICLINE1, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE1"));
    FlexGridSizer2->Add(StaticLine1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square0_3 = new wxSpinCtrl(Panel1, ID_SPINCTRL78, _T("1"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 1, _T("ID_SPINCTRL78"));
    square0_3->SetValue(_T("1"));
    FlexGridSizer2->Add(square0_3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square0_4 = new wxSpinCtrl(Panel1, ID_SPINCTRL77, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL77"));
    square0_4->SetValue(_T("0"));
    FlexGridSizer2->Add(square0_4, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square0_5 = new wxSpinCtrl(Panel1, ID_SPINCTRL76, _T("8"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 8, _T("ID_SPINCTRL76"));
    square0_5->SetValue(_T("8"));
    FlexGridSizer2->Add(square0_5, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine9 = new wxStaticLine(Panel1, ID_STATICLINE9, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE9"));
    FlexGridSizer2->Add(StaticLine9, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square0_6 = new wxSpinCtrl(Panel1, ID_SPINCTRL75, _T("2"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 2, _T("ID_SPINCTRL75"));
    square0_6->SetValue(_T("2"));
    FlexGridSizer2->Add(square0_6, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square0_7 = new wxSpinCtrl(Panel1, ID_SPINCTRL74, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL74"));
    square0_7->SetValue(_T("0"));
    FlexGridSizer2->Add(square0_7, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square0_8 = new wxSpinCtrl(Panel1, ID_SPINCTRL73, _T("3"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 3, _T("ID_SPINCTRL73"));
    square0_8->SetValue(_T("3"));
    FlexGridSizer2->Add(square0_8, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square1_0 = new wxSpinCtrl(Panel1, ID_SPINCTRL72, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL72"));
    square1_0->SetValue(_T("0"));
    FlexGridSizer2->Add(square1_0, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square1_1 = new wxSpinCtrl(Panel1, ID_SPINCTRL71, _T("2"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 2, _T("ID_SPINCTRL71"));
    square1_1->SetValue(_T("2"));
    FlexGridSizer2->Add(square1_1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square1_2 = new wxSpinCtrl(Panel1, ID_SPINCTRL70, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL70"));
    square1_2->SetValue(_T("0"));
    FlexGridSizer2->Add(square1_2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine2 = new wxStaticLine(Panel1, ID_STATICLINE2, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE2"));
    FlexGridSizer2->Add(StaticLine2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square1_3 = new wxSpinCtrl(Panel1, ID_SPINCTRL69, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL69"));
    square1_3->SetValue(_T("0"));
    FlexGridSizer2->Add(square1_3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square1_4 = new wxSpinCtrl(Panel1, ID_SPINCTRL68, _T("4"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 4, _T("ID_SPINCTRL68"));
    square1_4->SetValue(_T("4"));
    FlexGridSizer2->Add(square1_4, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square1_5 = new wxSpinCtrl(Panel1, ID_SPINCTRL67, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL67"));
    square1_5->SetValue(_T("0"));
    FlexGridSizer2->Add(square1_5, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine3 = new wxStaticLine(Panel1, ID_STATICLINE3, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE3"));
    FlexGridSizer2->Add(StaticLine3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square1_6 = new wxSpinCtrl(Panel1, ID_SPINCTRL66, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL66"));
    square1_6->SetValue(_T("0"));
    FlexGridSizer2->Add(square1_6, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square1_7 = new wxSpinCtrl(Panel1, ID_SPINCTRL65, _T("9"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 9, _T("ID_SPINCTRL65"));
    square1_7->SetValue(_T("9"));
    FlexGridSizer2->Add(square1_7, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square1_8 = new wxSpinCtrl(Panel1, ID_SPINCTRL64, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL64"));
    square1_8->SetValue(_T("0"));
    FlexGridSizer2->Add(square1_8, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square2_0 = new wxSpinCtrl(Panel1, ID_SPINCTRL63, _T("8"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 8, _T("ID_SPINCTRL63"));
    square2_0->SetValue(_T("8"));
    FlexGridSizer2->Add(square2_0, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square2_1 = new wxSpinCtrl(Panel1, ID_SPINCTRL62, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL62"));
    square2_1->SetValue(_T("0"));
    FlexGridSizer2->Add(square2_1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square2_2 = new wxSpinCtrl(Panel1, ID_SPINCTRL61, _T("3"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 3, _T("ID_SPINCTRL61"));
    square2_2->SetValue(_T("3"));
    FlexGridSizer2->Add(square2_2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine4 = new wxStaticLine(Panel1, ID_STATICLINE4, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE4"));
    FlexGridSizer2->Add(StaticLine4, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square2_3 = new wxSpinCtrl(Panel1, ID_SPINCTRL60, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL60"));
    square2_3->SetValue(_T("0"));
    FlexGridSizer2->Add(square2_3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square2_4 = new wxSpinCtrl(Panel1, ID_SPINCTRL59, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL59"));
    square2_4->SetValue(_T("0"));
    FlexGridSizer2->Add(square2_4, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square2_5 = new wxSpinCtrl(Panel1, ID_SPINCTRL58, _T("5"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 5, _T("ID_SPINCTRL58"));
    square2_5->SetValue(_T("5"));
    FlexGridSizer2->Add(square2_5, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine5 = new wxStaticLine(Panel1, ID_STATICLINE5, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE5"));
    FlexGridSizer2->Add(StaticLine5, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square2_6 = new wxSpinCtrl(Panel1, ID_SPINCTRL57, _T("4"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 4, _T("ID_SPINCTRL57"));
    square2_6->SetValue(_T("4"));
    FlexGridSizer2->Add(square2_6, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square2_7 = new wxSpinCtrl(Panel1, ID_SPINCTRL56, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL56"));
    square2_7->SetValue(_T("0"));
    FlexGridSizer2->Add(square2_7, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square2_8 = new wxSpinCtrl(Panel1, ID_SPINCTRL55, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL55"));
    square2_8->SetValue(_T("0"));
    FlexGridSizer2->Add(square2_8, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine6 = new wxStaticLine(Panel1, ID_STATICLINE6, wxDefaultPosition, wxSize(16,1), wxLI_HORIZONTAL, _T("ID_STATICLINE6"));
    FlexGridSizer2->Add(StaticLine6, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine7 = new wxStaticLine(Panel1, ID_STATICLINE7, wxDefaultPosition, wxSize(16,1), wxLI_HORIZONTAL, _T("ID_STATICLINE7"));
    FlexGridSizer2->Add(StaticLine7, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine8 = new wxStaticLine(Panel1, ID_STATICLINE8, wxDefaultPosition, wxSize(16,1), wxLI_HORIZONTAL, _T("ID_STATICLINE8"));
    FlexGridSizer2->Add(StaticLine8, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine10 = new wxStaticLine(Panel1, ID_STATICLINE10, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE10"));
    FlexGridSizer2->Add(StaticLine10, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine12 = new wxStaticLine(Panel1, ID_STATICLINE12, wxDefaultPosition, wxSize(16,1), wxLI_HORIZONTAL, _T("ID_STATICLINE12"));
    FlexGridSizer2->Add(StaticLine12, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine11 = new wxStaticLine(Panel1, ID_STATICLINE11, wxDefaultPosition, wxSize(16,1), wxLI_HORIZONTAL, _T("ID_STATICLINE11"));
    FlexGridSizer2->Add(StaticLine11, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine13 = new wxStaticLine(Panel1, ID_STATICLINE13, wxDefaultPosition, wxSize(16,1), wxLI_HORIZONTAL, _T("ID_STATICLINE13"));
    FlexGridSizer2->Add(StaticLine13, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine14 = new wxStaticLine(Panel1, ID_STATICLINE14, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE14"));
    FlexGridSizer2->Add(StaticLine14, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine15 = new wxStaticLine(Panel1, ID_STATICLINE15, wxDefaultPosition, wxSize(16,1), wxLI_HORIZONTAL, _T("ID_STATICLINE15"));
    FlexGridSizer2->Add(StaticLine15, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine16 = new wxStaticLine(Panel1, ID_STATICLINE16, wxDefaultPosition, wxSize(16,1), wxLI_HORIZONTAL, _T("ID_STATICLINE16"));
    FlexGridSizer2->Add(StaticLine16, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine17 = new wxStaticLine(Panel1, ID_STATICLINE17, wxDefaultPosition, wxSize(16,1), wxLI_HORIZONTAL, _T("ID_STATICLINE17"));
    FlexGridSizer2->Add(StaticLine17, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square3_0 = new wxSpinCtrl(Panel1, ID_SPINCTRL54, _T("5"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 5, _T("ID_SPINCTRL54"));
    square3_0->SetValue(_T("5"));
    FlexGridSizer2->Add(square3_0, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square3_1 = new wxSpinCtrl(Panel1, ID_SPINCTRL53, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL53"));
    square3_1->SetValue(_T("0"));
    FlexGridSizer2->Add(square3_1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square3_2 = new wxSpinCtrl(Panel1, ID_SPINCTRL52, _T("4"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 4, _T("ID_SPINCTRL52"));
    square3_2->SetValue(_T("4"));
    FlexGridSizer2->Add(square3_2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine18 = new wxStaticLine(Panel1, ID_STATICLINE18, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE18"));
    FlexGridSizer2->Add(StaticLine18, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square3_3 = new wxSpinCtrl(Panel1, ID_SPINCTRL51, _T("6"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 6, _T("ID_SPINCTRL51"));
    square3_3->SetValue(_T("6"));
    FlexGridSizer2->Add(square3_3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square3_4 = new wxSpinCtrl(Panel1, ID_SPINCTRL50, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL50"));
    square3_4->SetValue(_T("0"));
    FlexGridSizer2->Add(square3_4, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square3_5 = new wxSpinCtrl(Panel1, ID_SPINCTRL49, _T("7"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 7, _T("ID_SPINCTRL49"));
    square3_5->SetValue(_T("7"));
    FlexGridSizer2->Add(square3_5, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine19 = new wxStaticLine(Panel1, ID_STATICLINE19, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE19"));
    FlexGridSizer2->Add(StaticLine19, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square3_6 = new wxSpinCtrl(Panel1, ID_SPINCTRL48, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL48"));
    square3_6->SetValue(_T("0"));
    FlexGridSizer2->Add(square3_6, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square3_7 = new wxSpinCtrl(Panel1, ID_SPINCTRL47, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL47"));
    square3_7->SetValue(_T("0"));
    FlexGridSizer2->Add(square3_7, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square3_8 = new wxSpinCtrl(Panel1, ID_SPINCTRL46, _T("9"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 9, _T("ID_SPINCTRL46"));
    square3_8->SetValue(_T("9"));
    FlexGridSizer2->Add(square3_8, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square4_0 = new wxSpinCtrl(Panel1, ID_SPINCTRL45, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL45"));
    square4_0->SetValue(_T("0"));
    FlexGridSizer2->Add(square4_0, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square4_1 = new wxSpinCtrl(Panel1, ID_SPINCTRL44, _T("3"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 3, _T("ID_SPINCTRL44"));
    square4_1->SetValue(_T("3"));
    FlexGridSizer2->Add(square4_1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square4_2 = new wxSpinCtrl(Panel1, ID_SPINCTRL43, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL43"));
    square4_2->SetValue(_T("0"));
    FlexGridSizer2->Add(square4_2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine20 = new wxStaticLine(Panel1, ID_STATICLINE20, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE20"));
    FlexGridSizer2->Add(StaticLine20, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square4_3 = new wxSpinCtrl(Panel1, ID_SPINCTRL42, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL42"));
    square4_3->SetValue(_T("0"));
    FlexGridSizer2->Add(square4_3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square4_4 = new wxSpinCtrl(Panel1, ID_SPINCTRL41, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL41"));
    square4_4->SetValue(_T("0"));
    FlexGridSizer2->Add(square4_4, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square4_5 = new wxSpinCtrl(Panel1, ID_SPINCTRL40, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL40"));
    square4_5->SetValue(_T("0"));
    FlexGridSizer2->Add(square4_5, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine21 = new wxStaticLine(Panel1, ID_STATICLINE21, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE21"));
    FlexGridSizer2->Add(StaticLine21, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square4_6 = new wxSpinCtrl(Panel1, ID_SPINCTRL39, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL39"));
    square4_6->SetValue(_T("0"));
    FlexGridSizer2->Add(square4_6, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square4_7 = new wxSpinCtrl(Panel1, ID_SPINCTRL38, _T("5"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 5, _T("ID_SPINCTRL38"));
    square4_7->SetValue(_T("5"));
    FlexGridSizer2->Add(square4_7, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square4_8 = new wxSpinCtrl(Panel1, ID_SPINCTRL37, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL37"));
    square4_8->SetValue(_T("0"));
    FlexGridSizer2->Add(square4_8, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square5_0 = new wxSpinCtrl(Panel1, ID_SPINCTRL36, _T("7"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 7, _T("ID_SPINCTRL36"));
    square5_0->SetValue(_T("7"));
    FlexGridSizer2->Add(square5_0, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square5_1 = new wxSpinCtrl(Panel1, ID_SPINCTRL35, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL35"));
    square5_1->SetValue(_T("0"));
    FlexGridSizer2->Add(square5_1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square5_2 = new wxSpinCtrl(Panel1, ID_SPINCTRL34, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL34"));
    square5_2->SetValue(_T("0"));
    FlexGridSizer2->Add(square5_2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine22 = new wxStaticLine(Panel1, ID_STATICLINE22, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE22"));
    FlexGridSizer2->Add(StaticLine22, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square5_3 = new wxSpinCtrl(Panel1, ID_SPINCTRL33, _T("8"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 8, _T("ID_SPINCTRL33"));
    square5_3->SetValue(_T("8"));
    FlexGridSizer2->Add(square5_3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square5_4 = new wxSpinCtrl(Panel1, ID_SPINCTRL32, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL32"));
    square5_4->SetValue(_T("0"));
    FlexGridSizer2->Add(square5_4, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square5_5 = new wxSpinCtrl(Panel1, ID_SPINCTRL31, _T("3"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 3, _T("ID_SPINCTRL31"));
    square5_5->SetValue(_T("3"));
    FlexGridSizer2->Add(square5_5, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine23 = new wxStaticLine(Panel1, ID_STATICLINE23, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE23"));
    FlexGridSizer2->Add(StaticLine23, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square5_6 = new wxSpinCtrl(Panel1, ID_SPINCTRL30, _T("1"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 1, _T("ID_SPINCTRL30"));
    square5_6->SetValue(_T("1"));
    FlexGridSizer2->Add(square5_6, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square5_7 = new wxSpinCtrl(Panel1, ID_SPINCTRL29, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL29"));
    square5_7->SetValue(_T("0"));
    FlexGridSizer2->Add(square5_7, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square5_8 = new wxSpinCtrl(Panel1, ID_SPINCTRL28, _T("2"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 2, _T("ID_SPINCTRL28"));
    square5_8->SetValue(_T("2"));
    FlexGridSizer2->Add(square5_8, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine24 = new wxStaticLine(Panel1, ID_STATICLINE24, wxDefaultPosition, wxSize(16,1), wxLI_HORIZONTAL, _T("ID_STATICLINE24"));
    FlexGridSizer2->Add(StaticLine24, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine25 = new wxStaticLine(Panel1, ID_STATICLINE25, wxDefaultPosition, wxSize(16,1), wxLI_HORIZONTAL, _T("ID_STATICLINE25"));
    FlexGridSizer2->Add(StaticLine25, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine26 = new wxStaticLine(Panel1, ID_STATICLINE26, wxDefaultPosition, wxSize(16,1), wxLI_HORIZONTAL, _T("ID_STATICLINE26"));
    FlexGridSizer2->Add(StaticLine26, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine27 = new wxStaticLine(Panel1, ID_STATICLINE27, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE27"));
    FlexGridSizer2->Add(StaticLine27, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine28 = new wxStaticLine(Panel1, ID_STATICLINE28, wxDefaultPosition, wxSize(16,1), wxLI_HORIZONTAL, _T("ID_STATICLINE28"));
    FlexGridSizer2->Add(StaticLine28, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine29 = new wxStaticLine(Panel1, ID_STATICLINE29, wxDefaultPosition, wxSize(16,1), wxLI_HORIZONTAL, _T("ID_STATICLINE29"));
    FlexGridSizer2->Add(StaticLine29, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine30 = new wxStaticLine(Panel1, ID_STATICLINE30, wxDefaultPosition, wxSize(16,1), wxLI_HORIZONTAL, _T("ID_STATICLINE30"));
    FlexGridSizer2->Add(StaticLine30, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine31 = new wxStaticLine(Panel1, ID_STATICLINE31, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE31"));
    FlexGridSizer2->Add(StaticLine31, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine32 = new wxStaticLine(Panel1, ID_STATICLINE32, wxDefaultPosition, wxSize(16,1), wxLI_HORIZONTAL, _T("ID_STATICLINE32"));
    FlexGridSizer2->Add(StaticLine32, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine33 = new wxStaticLine(Panel1, ID_STATICLINE33, wxDefaultPosition, wxSize(16,1), wxLI_HORIZONTAL, _T("ID_STATICLINE33"));
    FlexGridSizer2->Add(StaticLine33, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine34 = new wxStaticLine(Panel1, ID_STATICLINE34, wxDefaultPosition, wxSize(16,1), wxLI_HORIZONTAL, _T("ID_STATICLINE34"));
    FlexGridSizer2->Add(StaticLine34, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square6_0 = new wxSpinCtrl(Panel1, ID_SPINCTRL27, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL27"));
    square6_0->SetValue(_T("0"));
    FlexGridSizer2->Add(square6_0, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square6_1 = new wxSpinCtrl(Panel1, ID_SPINCTRL26, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL26"));
    square6_1->SetValue(_T("0"));
    FlexGridSizer2->Add(square6_1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square6_2 = new wxSpinCtrl(Panel1, ID_SPINCTRL25, _T("1"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 1, _T("ID_SPINCTRL25"));
    square6_2->SetValue(_T("1"));
    FlexGridSizer2->Add(square6_2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine35 = new wxStaticLine(Panel1, ID_STATICLINE35, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE35"));
    FlexGridSizer2->Add(StaticLine35, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square6_3 = new wxSpinCtrl(Panel1, ID_SPINCTRL24, _T("7"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 7, _T("ID_SPINCTRL24"));
    square6_3->SetValue(_T("7"));
    FlexGridSizer2->Add(square6_3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square6_4 = new wxSpinCtrl(Panel1, ID_SPINCTRL23, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL23"));
    square6_4->SetValue(_T("0"));
    FlexGridSizer2->Add(square6_4, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square6_5 = new wxSpinCtrl(Panel1, ID_SPINCTRL22, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL22"));
    square6_5->SetValue(_T("0"));
    FlexGridSizer2->Add(square6_5, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine36 = new wxStaticLine(Panel1, ID_STATICLINE36, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE36"));
    FlexGridSizer2->Add(StaticLine36, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square6_6 = new wxSpinCtrl(Panel1, ID_SPINCTRL21, _T("9"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 9, _T("ID_SPINCTRL21"));
    square6_6->SetValue(_T("9"));
    FlexGridSizer2->Add(square6_6, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square6_7 = new wxSpinCtrl(Panel1, ID_SPINCTRL20, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL20"));
    square6_7->SetValue(_T("0"));
    FlexGridSizer2->Add(square6_7, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square6_8 = new wxSpinCtrl(Panel1, ID_SPINCTRL19, _T("6"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 6, _T("ID_SPINCTRL19"));
    square6_8->SetValue(_T("6"));
    FlexGridSizer2->Add(square6_8, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square7_0 = new wxSpinCtrl(Panel1, ID_SPINCTRL18, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL18"));
    square7_0->SetValue(_T("0"));
    FlexGridSizer2->Add(square7_0, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square7_1 = new wxSpinCtrl(Panel1, ID_SPINCTRL17, _T("8"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 8, _T("ID_SPINCTRL17"));
    square7_1->SetValue(_T("8"));
    FlexGridSizer2->Add(square7_1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square7_2 = new wxSpinCtrl(Panel1, ID_SPINCTRL16, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL16"));
    square7_2->SetValue(_T("0"));
    FlexGridSizer2->Add(square7_2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine37 = new wxStaticLine(Panel1, ID_STATICLINE37, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE37"));
    FlexGridSizer2->Add(StaticLine37, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square7_3 = new wxSpinCtrl(Panel1, ID_SPINCTRL15, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL15"));
    square7_3->SetValue(_T("0"));
    FlexGridSizer2->Add(square7_3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square7_4 = new wxSpinCtrl(Panel1, ID_SPINCTRL14, _T("3"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 3, _T("ID_SPINCTRL14"));
    square7_4->SetValue(_T("3"));
    FlexGridSizer2->Add(square7_4, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square7_5 = new wxSpinCtrl(Panel1, ID_SPINCTRL13, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL13"));
    square7_5->SetValue(_T("0"));
    FlexGridSizer2->Add(square7_5, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine38 = new wxStaticLine(Panel1, ID_STATICLINE38, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE38"));
    FlexGridSizer2->Add(StaticLine38, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square7_6 = new wxSpinCtrl(Panel1, ID_SPINCTRL12, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL12"));
    square7_6->SetValue(_T("0"));
    FlexGridSizer2->Add(square7_6, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square7_7 = new wxSpinCtrl(Panel1, ID_SPINCTRL11, _T("2"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 2, _T("ID_SPINCTRL11"));
    square7_7->SetValue(_T("2"));
    FlexGridSizer2->Add(square7_7, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square7_8 = new wxSpinCtrl(Panel1, ID_SPINCTRL10, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL10"));
    square7_8->SetValue(_T("0"));
    FlexGridSizer2->Add(square7_8, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square8_0 = new wxSpinCtrl(Panel1, ID_SPINCTRL9, _T("3"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 3, _T("ID_SPINCTRL9"));
    square8_0->SetValue(_T("3"));
    FlexGridSizer2->Add(square8_0, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square8_1 = new wxSpinCtrl(Panel1, ID_SPINCTRL8, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL8"));
    square8_1->SetValue(_T("0"));
    FlexGridSizer2->Add(square8_1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square8_2 = new wxSpinCtrl(Panel1, ID_SPINCTRL7, _T("2"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 2, _T("ID_SPINCTRL7"));
    square8_2->SetValue(_T("2"));
    FlexGridSizer2->Add(square8_2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine39 = new wxStaticLine(Panel1, ID_STATICLINE39, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE39"));
    FlexGridSizer2->Add(StaticLine39, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square8_3 = new wxSpinCtrl(Panel1, ID_SPINCTRL6, _T("9"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 9, _T("ID_SPINCTRL6"));
    square8_3->SetValue(_T("9"));
    FlexGridSizer2->Add(square8_3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square8_4 = new wxSpinCtrl(Panel1, ID_SPINCTRL5, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL5"));
    square8_4->SetValue(_T("0"));
    FlexGridSizer2->Add(square8_4, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square8_5 = new wxSpinCtrl(Panel1, ID_SPINCTRL4, _T("4"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 4, _T("ID_SPINCTRL4"));
    square8_5->SetValue(_T("4"));
    FlexGridSizer2->Add(square8_5, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    StaticLine40 = new wxStaticLine(Panel1, ID_STATICLINE40, wxDefaultPosition, wxSize(2,15), wxLI_HORIZONTAL, _T("ID_STATICLINE40"));
    FlexGridSizer2->Add(StaticLine40, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square8_6 = new wxSpinCtrl(Panel1, ID_SPINCTRL2, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL2"));
    square8_6->SetValue(_T("0"));
    FlexGridSizer2->Add(square8_6, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square8_7 = new wxSpinCtrl(Panel1, ID_SPINCTRL3, _T("0"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 0, _T("ID_SPINCTRL3"));
    square8_7->SetValue(_T("0"));
    FlexGridSizer2->Add(square8_7, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    square8_8 = new wxSpinCtrl(Panel1, ID_SPINCTRL1, _T("5"), wxDefaultPosition, wxSize(35,20), 0, 0, 9, 5, _T("ID_SPINCTRL1"));
    square8_8->SetValue(_T("5"));
    FlexGridSizer2->Add(square8_8, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    FlexGridSizer1->Add(FlexGridSizer2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    FlexGridSizer3 = new wxFlexGridSizer(0, 3, 0, 0);
    Button1 = new wxButton(Panel1, ID_BUTTON1, _("Next Step..."), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON1"));
    FlexGridSizer3->Add(Button1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    Button2 = new wxButton(Panel1, ID_BUTTON2, _("Clear Grid"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON2"));
    FlexGridSizer3->Add(Button2, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    FlexGridSizer1->Add(FlexGridSizer3, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    Panel1->SetSizer(FlexGridSizer1);
    FlexGridSizer1->Fit(Panel1);
    FlexGridSizer1->SetSizeHints(Panel1);
    BoxSizer1->Add(Panel1, 1, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
    SetSizer(BoxSizer1);
    MenuBar1 = new wxMenuBar();
    Menu1 = new wxMenu();
    MenuItem1 = new wxMenuItem(Menu1, idMenuQuit, _("Quit\tAlt-F4"), _("Quit the application"), wxITEM_NORMAL);
    Menu1->Append(MenuItem1);
    MenuBar1->Append(Menu1, _("&File"));
    Menu2 = new wxMenu();
    MenuItem2 = new wxMenuItem(Menu2, idMenuAbout, _("About\tF11"), _("Show info about this application"), wxITEM_NORMAL);
    Menu2->Append(MenuItem2);
    MenuItem3 = new wxMenuItem(Menu2, idHelp, _("Help\tF1"), _("Show help text"), wxITEM_NORMAL);
    Menu2->Append(MenuItem3);
    MenuBar1->Append(Menu2, _("Help"));
    SetMenuBar(MenuBar1);
    StatusBar1 = new wxStatusBar(this, ID_STATUSBAR1, 0, _T("ID_STATUSBAR1"));
    int __wxStatusBarWidths_1[1] = { -1 };
    int __wxStatusBarStyles_1[1] = { wxSB_NORMAL };
    StatusBar1->SetFieldsCount(1,__wxStatusBarWidths_1);
    StatusBar1->SetStatusStyles(1,__wxStatusBarStyles_1);
    SetStatusBar(StatusBar1);
    BoxSizer1->Fit(this);
    BoxSizer1->SetSizeHints(this);

    Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&SudokuSolverFrame::OnButton1Click);
    Connect(ID_BUTTON2,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&SudokuSolverFrame::OnButton2Click);
    Connect(idMenuQuit,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&SudokuSolverFrame::OnQuit);
    Connect(idMenuAbout,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&SudokuSolverFrame::OnAbout);
    Connect(idHelp,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&SudokuSolverFrame::OnHelp);
    //*)
}

SudokuSolverFrame::~SudokuSolverFrame()
{
    //(*Destroy(SudokuSolverFrame)
    //*)
}

void SudokuSolverFrame::OnQuit(wxCommandEvent& event)
{
    Close();
}

void SudokuSolverFrame::OnAbout(wxCommandEvent& event)
{
    wxString msg = _("      Sudoku Solver v1.0\n\nDeveloped by Timothy Sassone\n   Using Code::Blocks and\n          wxWidgets\n\n    GPL 3.0 Public License");
    wxMessageBox(msg, _("Sudoku Solver"));
}

void SudokuSolverFrame::OnHelp(wxCommandEvent& event)
{
    wxString msg = _("SUDOKU SOLVER V1.0 HELP\n\nEnter the known numbers in the grid, using 0s for unknowns.\nClick the 'Next Step...' button to solve a bit of the puzzle.");
    wxMessageBox(msg, _("Sudoku Solver"));
}

void SudokuSolverFrame::OnButton1Click(wxCommandEvent& event)
{
    wxSpinCtrl *grid[9][9];
    /** square0_# **/
    {
    grid[0][0] = square0_0;
    grid[0][1] = square0_1;
    grid[0][2] = square0_2;
    grid[0][3] = square0_3;
    grid[0][4] = square0_4;
    grid[0][5] = square0_5;
    grid[0][6] = square0_6;
    grid[0][7] = square0_7;
    grid[0][8] = square0_8;
    }

    /** square1_# **/
    {
    grid[1][0] = square1_0;
    grid[1][1] = square1_1;
    grid[1][2] = square1_2;
    grid[1][3] = square1_3;
    grid[1][4] = square1_4;
    grid[1][5] = square1_5;
    grid[1][6] = square1_6;
    grid[1][7] = square1_7;
    grid[1][8] = square1_8;
    }

    /** square2_# **/
    {
    grid[2][0] = square2_0;
    grid[2][1] = square2_1;
    grid[2][2] = square2_2;
    grid[2][3] = square2_3;
    grid[2][4] = square2_4;
    grid[2][5] = square2_5;
    grid[2][6] = square2_6;
    grid[2][7] = square2_7;
    grid[2][8] = square2_8;
    }

    /** square3_# **/
    {
    grid[3][0] = square3_0;
    grid[3][1] = square3_1;
    grid[3][2] = square3_2;
    grid[3][3] = square3_3;
    grid[3][4] = square3_4;
    grid[3][5] = square3_5;
    grid[3][6] = square3_6;
    grid[3][7] = square3_7;
    grid[3][8] = square3_8;
    }

    /** square4_# **/
    {
    grid[4][0] = square4_0;
    grid[4][1] = square4_1;
    grid[4][2] = square4_2;
    grid[4][3] = square4_3;
    grid[4][4] = square4_4;
    grid[4][5] = square4_5;
    grid[4][6] = square4_6;
    grid[4][7] = square4_7;
    grid[4][8] = square4_8;
    }

    /** square5_# **/
    {
    grid[5][0] = square5_0;
    grid[5][1] = square5_1;
    grid[5][2] = square5_2;
    grid[5][3] = square5_3;
    grid[5][4] = square5_4;
    grid[5][5] = square5_5;
    grid[5][6] = square5_6;
    grid[5][7] = square5_7;
    grid[5][8] = square5_8;
    }

    /** square6_# **/
    {
    grid[6][0] = square6_0;
    grid[6][1] = square6_1;
    grid[6][2] = square6_2;
    grid[6][3] = square6_3;
    grid[6][4] = square6_4;
    grid[6][5] = square6_5;
    grid[6][6] = square6_6;
    grid[6][7] = square6_7;
    grid[6][8] = square6_8;
    }

    /** square7_# **/
    {
    grid[7][0] = square7_0;
    grid[7][1] = square7_1;
    grid[7][2] = square7_2;
    grid[7][3] = square7_3;
    grid[7][4] = square7_4;
    grid[7][5] = square7_5;
    grid[7][6] = square7_6;
    grid[7][7] = square7_7;
    grid[7][8] = square7_8;
    }

    /** square8_# **/
    {
    grid[8][0] = square8_0;
    grid[8][1] = square8_1;
    grid[8][2] = square8_2;
    grid[8][3] = square8_3;
    grid[8][4] = square8_4;
    grid[8][5] = square8_5;
    grid[8][6] = square8_6;
    grid[8][7] = square8_7;
    grid[8][8] = square8_8;
    }

    solve(grid);
}

void SudokuSolverFrame::OnButton2Click(wxCommandEvent& event)
{
    /** square0_# **/
    {
    square0_0->SetValue(_("0"));
    square0_1->SetValue(_("0"));
    square0_2->SetValue(_("0"));
    square0_3->SetValue(_("0"));
    square0_4->SetValue(_("0"));
    square0_5->SetValue(_("0"));
    square0_6->SetValue(_("0"));
    square0_7->SetValue(_("0"));
    square0_8->SetValue(_("0"));
    }

    /** square1_# **/
    {
    square1_0->SetValue(_("0"));
    square1_1->SetValue(_("0"));
    square1_2->SetValue(_("0"));
    square1_3->SetValue(_("0"));
    square1_4->SetValue(_("0"));
    square1_5->SetValue(_("0"));
    square1_6->SetValue(_("0"));
    square1_7->SetValue(_("0"));
    square1_8->SetValue(_("0"));
    }

    /** square2_# **/
    {
    square2_0->SetValue(_("0"));
    square2_1->SetValue(_("0"));
    square2_2->SetValue(_("0"));
    square2_3->SetValue(_("0"));
    square2_4->SetValue(_("0"));
    square2_5->SetValue(_("0"));
    square2_6->SetValue(_("0"));
    square2_7->SetValue(_("0"));
    square2_8->SetValue(_("0"));
    }

    /** square3_# **/
    {
    square3_0->SetValue(_("0"));
    square3_1->SetValue(_("0"));
    square3_2->SetValue(_("0"));
    square3_3->SetValue(_("0"));
    square3_4->SetValue(_("0"));
    square3_5->SetValue(_("0"));
    square3_6->SetValue(_("0"));
    square3_7->SetValue(_("0"));
    square3_8->SetValue(_("0"));
    }

    /** square4_# **/
    {
    square4_0->SetValue(_("0"));
    square4_1->SetValue(_("0"));
    square4_2->SetValue(_("0"));
    square4_3->SetValue(_("0"));
    square4_4->SetValue(_("0"));
    square4_5->SetValue(_("0"));
    square4_6->SetValue(_("0"));
    square4_7->SetValue(_("0"));
    square4_8->SetValue(_("0"));
    }

    /** square5_# **/
    {
    square5_0->SetValue(_("0"));
    square5_1->SetValue(_("0"));
    square5_2->SetValue(_("0"));
    square5_3->SetValue(_("0"));
    square5_4->SetValue(_("0"));
    square5_5->SetValue(_("0"));
    square5_6->SetValue(_("0"));
    square5_7->SetValue(_("0"));
    square5_8->SetValue(_("0"));
    }

    /** square6_# **/
    {
    square6_0->SetValue(_("0"));
    square6_1->SetValue(_("0"));
    square6_2->SetValue(_("0"));
    square6_3->SetValue(_("0"));
    square6_4->SetValue(_("0"));
    square6_5->SetValue(_("0"));
    square6_6->SetValue(_("0"));
    square6_7->SetValue(_("0"));
    square6_8->SetValue(_("0"));
    }

    /** square7_# **/
    {
    square7_0->SetValue(_("0"));
    square7_1->SetValue(_("0"));
    square7_2->SetValue(_("0"));
    square7_3->SetValue(_("0"));
    square7_4->SetValue(_("0"));
    square7_5->SetValue(_("0"));
    square7_6->SetValue(_("0"));
    square7_7->SetValue(_("0"));
    square7_8->SetValue(_("0"));
    }

    /** square8_# **/
    {
    square8_0->SetValue(_("0"));
    square8_1->SetValue(_("0"));
    square8_2->SetValue(_("0"));
    square8_3->SetValue(_("0"));
    square8_4->SetValue(_("0"));
    square8_5->SetValue(_("0"));
    square8_6->SetValue(_("0"));
    square8_7->SetValue(_("0"));
    square8_8->SetValue(_("0"));
    }
}
